package com.zucc.entity;

import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {
    /**
     * 表对象编号
     */
    @Id
    private Long id;

    /**
     * 是否被删除，0：未删除，1：已删除
     */
    @Column(name = "del_flag")
    private Integer delFlag;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 创建人编号
     */
    @Column(name = "create_person_id")
    private Long createPersonId;

    /**
     * 最后修改时间
     */
    @Column(name = "modify_time")
    private Date modifyTime;

    /**
     * 最后修改人编号
     */
    @Column(name = "modify_person_id")
    private Long modifyPersonId;

    /**
     * 软删除时间
     */
    @Column(name = "delete_time")
    private Date deleteTime;

    /**
     * 删除人编号
     */
    @Column(name = "delete_person_id")
    private Long deletePersonId;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 账号(用户名)
     */
    private String account;

    /**
     * 密码
     */
    private String password;

    /**
     * 所在分院，如：计算分院
     */
    @Column(name = "brcach_mame")
    private String brcachMame;

    /**
     * 教师号
     */
    @Column(name = "teacher_code")
    private String teacherCode;

    /**
     * 职称
     */
    private String title;

    /**
     * 所在班级，如：计算1803
     */
    @Column(name = "class_name")
    private String className;

    /**
     * 姓名
     */
    private String name;

    /**
     * 头像短链接
     */
    private String portrait;

    /**
     * 性别,0:男,1:女
     */
    private Integer sex;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 出生日期
     */
    private Date birthday;

    /**
     * 办公电话
     */
    @Column(name = "office_phone")
    private String officePhone;

    /**
     * 手机
     */
    private String mobile;

    /**
     * 电子邮箱
     */
    private String email;

    /**
     * 角色类型（枚举），0:普通用户，1:教师用户，2:数据中心管理员，3:系统管理员
     */
    @Column(name = "role_type")
    private Integer roleType;

    private static final long serialVersionUID = 1L;

    /**
     * 获取表对象编号
     *
     * @return id - 表对象编号
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置表对象编号
     *
     * @param id 表对象编号
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取是否被删除，0：未删除，1：已删除
     *
     * @return del_flag - 是否被删除，0：未删除，1：已删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否被删除，0：未删除，1：已删除
     *
     * @param delFlag 是否被删除，0：未删除，1：已删除
     */
    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建人编号
     *
     * @return create_person_id - 创建人编号
     */
    public Long getCreatePersonId() {
        return createPersonId;
    }

    /**
     * 设置创建人编号
     *
     * @param createPersonId 创建人编号
     */
    public void setCreatePersonId(Long createPersonId) {
        this.createPersonId = createPersonId;
    }

    /**
     * 获取最后修改时间
     *
     * @return modify_time - 最后修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 设置最后修改时间
     *
     * @param modifyTime 最后修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 获取最后修改人编号
     *
     * @return modify_person_id - 最后修改人编号
     */
    public Long getModifyPersonId() {
        return modifyPersonId;
    }

    /**
     * 设置最后修改人编号
     *
     * @param modifyPersonId 最后修改人编号
     */
    public void setModifyPersonId(Long modifyPersonId) {
        this.modifyPersonId = modifyPersonId;
    }

    /**
     * 获取软删除时间
     *
     * @return delete_time - 软删除时间
     */
    public Date getDeleteTime() {
        return deleteTime;
    }

    /**
     * 设置软删除时间
     *
     * @param deleteTime 软删除时间
     */
    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    /**
     * 获取删除人编号
     *
     * @return delete_person_id - 删除人编号
     */
    public Long getDeletePersonId() {
        return deletePersonId;
    }

    /**
     * 设置删除人编号
     *
     * @param deletePersonId 删除人编号
     */
    public void setDeletePersonId(Long deletePersonId) {
        this.deletePersonId = deletePersonId;
    }

    /**
     * 获取备注
     *
     * @return remarks - 备注
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 设置备注
     *
     * @param remarks 备注
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks == null ? null : remarks.trim();
    }

    /**
     * 获取账号(用户名)
     *
     * @return account - 账号(用户名)
     */
    public String getAccount() {
        return account;
    }

    /**
     * 设置账号(用户名)
     *
     * @param account 账号(用户名)
     */
    public void setAccount(String account) {
        this.account = account == null ? null : account.trim();
    }

    /**
     * 获取密码
     *
     * @return password - 密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置密码
     *
     * @param password 密码
     */
    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    /**
     * 获取所在分院，如：计算分院
     *
     * @return brcach_mame - 所在分院，如：计算分院
     */
    public String getBrcachMame() {
        return brcachMame;
    }

    /**
     * 设置所在分院，如：计算分院
     *
     * @param brcachMame 所在分院，如：计算分院
     */
    public void setBrcachMame(String brcachMame) {
        this.brcachMame = brcachMame == null ? null : brcachMame.trim();
    }

    /**
     * 获取教师号
     *
     * @return teacher_code - 教师号
     */
    public String getTeacherCode() {
        return teacherCode;
    }

    /**
     * 设置教师号
     *
     * @param teacherCode 教师号
     */
    public void setTeacherCode(String teacherCode) {
        this.teacherCode = teacherCode == null ? null : teacherCode.trim();
    }

    /**
     * 获取职称
     *
     * @return title - 职称
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置职称
     *
     * @param title 职称
     */
    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    /**
     * 获取所在班级，如：计算1803
     *
     * @return class_name - 所在班级，如：计算1803
     */
    public String getClassName() {
        return className;
    }

    /**
     * 设置所在班级，如：计算1803
     *
     * @param className 所在班级，如：计算1803
     */
    public void setClassName(String className) {
        this.className = className == null ? null : className.trim();
    }

    /**
     * 获取姓名
     *
     * @return name - 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 设置姓名
     *
     * @param name 姓名
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取头像短链接
     *
     * @return portrait - 头像短链接
     */
    public String getPortrait() {
        return portrait;
    }

    /**
     * 设置头像短链接
     *
     * @param portrait 头像短链接
     */
    public void setPortrait(String portrait) {
        this.portrait = portrait == null ? null : portrait.trim();
    }

    /**
     * 获取性别,0:男,1:女
     *
     * @return sex - 性别,0:男,1:女
     */
    public Integer getSex() {
        return sex;
    }

    /**
     * 设置性别,0:男,1:女
     *
     * @param sex 性别,0:男,1:女
     */
    public void setSex(Integer sex) {
        this.sex = sex;
    }

    /**
     * 获取昵称
     *
     * @return nickname - 昵称
     */
    public String getNickname() {
        return nickname;
    }

    /**
     * 设置昵称
     *
     * @param nickname 昵称
     */
    public void setNickname(String nickname) {
        this.nickname = nickname == null ? null : nickname.trim();
    }

    /**
     * 获取出生日期
     *
     * @return birthday - 出生日期
     */
    public Date getBirthday() {
        return birthday;
    }

    /**
     * 设置出生日期
     *
     * @param birthday 出生日期
     */
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    /**
     * 获取办公电话
     *
     * @return office_phone - 办公电话
     */
    public String getOfficePhone() {
        return officePhone;
    }

    /**
     * 设置办公电话
     *
     * @param officePhone 办公电话
     */
    public void setOfficePhone(String officePhone) {
        this.officePhone = officePhone == null ? null : officePhone.trim();
    }

    /**
     * 获取手机
     *
     * @return mobile - 手机
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置手机
     *
     * @param mobile 手机
     */
    public void setMobile(String mobile) {
        this.mobile = mobile == null ? null : mobile.trim();
    }

    /**
     * 获取电子邮箱
     *
     * @return email - 电子邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 设置电子邮箱
     *
     * @param email 电子邮箱
     */
    public void setEmail(String email) {
        this.email = email == null ? null : email.trim();
    }

    /**
     * 获取角色类型（枚举），0:普通用户，1:教师用户，2:数据中心管理员，3:系统管理员
     *
     * @return role_type - 角色类型（枚举），0:普通用户，1:教师用户，2:数据中心管理员，3:系统管理员
     */
    public Integer getRoleType() {
        return roleType;
    }

    /**
     * 设置角色类型（枚举），0:普通用户，1:教师用户，2:数据中心管理员，3:系统管理员
     *
     * @param roleType 角色类型（枚举），0:普通用户，1:教师用户，2:数据中心管理员，3:系统管理员
     */
    public void setRoleType(Integer roleType) {
        this.roleType = roleType;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", delFlag=").append(delFlag);
        sb.append(", createTime=").append(createTime);
        sb.append(", createPersonId=").append(createPersonId);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", modifyPersonId=").append(modifyPersonId);
        sb.append(", deleteTime=").append(deleteTime);
        sb.append(", deletePersonId=").append(deletePersonId);
        sb.append(", remarks=").append(remarks);
        sb.append(", account=").append(account);
        sb.append(", password=").append(password);
        sb.append(", brcachMame=").append(brcachMame);
        sb.append(", teacherCode=").append(teacherCode);
        sb.append(", title=").append(title);
        sb.append(", className=").append(className);
        sb.append(", name=").append(name);
        sb.append(", portrait=").append(portrait);
        sb.append(", sex=").append(sex);
        sb.append(", nickname=").append(nickname);
        sb.append(", birthday=").append(birthday);
        sb.append(", officePhone=").append(officePhone);
        sb.append(", mobile=").append(mobile);
        sb.append(", email=").append(email);
        sb.append(", roleType=").append(roleType);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}